package cn.koala.key.stock.service;

import cn.koala.key.entity.LeaveStock;
import cn.koala.key.stock.domain.dto.EnterStockDTO;
import cn.koala.key.stock.domain.dto.LeaveStockDTO;
import cn.koala.key.stock.domain.dto.StockSearch;
import cn.seed.common.core.Result;
import cn.seed.common.core.ResultList;

/**
 * @description:LeaveStockService
 * @author 32415
 * @time 2019/04/28
 **/
public interface LeaveStockService {

    /**
     * 出库查询
     * @description list
     * @param leaveStockSearch
     * @return cn.seed.common.core.Result<cn.seed.common.core.ResultList<cn.koala.key.entity.LeaveStock>>
     * @Exception
     * @author shuai.xu
     * @time 2019/5/5 9:57
    */
    Result<ResultList<LeaveStock>> list(StockSearch leaveStockSearch);

    /**
     * 新增/编辑出库单
     * @description insertOrUpdate
     * @param leaveStockDTO
     * @return cn.seed.common.core.Result
     * @Exception
     * @author shuai.xu
     * @time 2019/5/5 11:12
    */
    Result insertOrUpdate(LeaveStockDTO leaveStockDTO);

    /**
     * 出库/作废出库单
     * @description invalidOrSubmit
     * @param orderNo
     * @param status
     * @return cn.seed.common.core.Result
     * @Exception
     * @author shuai.xu
     * @time 2019/5/5 11:13
    */
    Result invalidOrOutStock(String orderNo, Integer status);
}
